package cn.tqfeiyang.springplus.warehouse.service;

import cn.tqfeiyang.springplus.warehouse.entity.SupplierEntity;
import cn.tqfeiyang.springplus.warehouse.request.SupplierDTO;
import cn.tqfeiyang.springplus.warehouse.response.SupplierVO;
import cn.tqfeiyang.springplus.warehouse.request.SupplierSTO;
import com.baomidou.mybatisplus.extension.service.IService;
import cn.tqfeiyang.springplus.framework.pagination.PageData;

/**
 * 供应商服务接口
 *
 * @author tqfeiyang
 * @since 2024-08-01
 */
public interface SupplierService extends IService<SupplierEntity> {

    /**
     * 分页查询供应商
     *
     * @param supplierSTO 查询数据
     * @return 供应商列表
     */
    PageData<SupplierVO> selectSupplierPage(SupplierSTO supplierSTO);

    /**
     * 查询供应商
     *
     * @param id 供应商id
     * @return 供应商信息
     */
    SupplierVO selectSupplierInfo(Long id);

    /**
     * 新建供应商
     *
     * @param supplierDTO 请求数据
     * @return 供应商id
     */
    Long createSupplier(SupplierDTO supplierDTO);

    /**
     * 修改供应商
     *
     * @param id 供应商id
     * @param supplierDTO 请求数据
     */
    void updateSupplier(Long id, SupplierDTO supplierDTO);

    /**
     * 删除供应商
     *
     * @param id 供应商id
     */
    void deleteSupplier(Long id);
}
